#ifndef __KAPI_DIM_SUM_TASK_H
#define __KAPI_DIM_SUM_TASK_H

/**
 * 调度策略
 *	1、SCHED_NORMAL:非实时普通任务
 *	2、SCHED_FIFO:实时FIFO调度
 *	3、SCHED_TIMESLICE:实时时间片调度
 *	4、SCHED_SERVICE:后台服务类任务
 *	5、SCHED_RMS:RMS类任务
 */
#define SCHED_NORMAL	0
#define SCHED_FIFO		1
#define SCHED_TIMESLICE	2
#define SCHED_SERVICE	3
#define SCHED_IDLE		5
#define SCHED_RMS	9

#define TaskId unsigned long
typedef  int (*TASK_FUNCTPTR)(void *data) ;
extern struct task_desc *create_process(struct task_desc* parent, int (*func)(void *data),
			void *data,
			char *name,
			int prio,
			int sched_policy,
			char * const *argv,
			char * const *envp);
extern TaskId old_create_process(int (*func)(void *data),
			void *data,
			char *name,
			int prio,
			int sched_policy);
extern struct task_desc *kapp_create_process(
			char *name,
			int prio,
			int sched_policy,
			char * const *argv,
			char * const *envp);

#endif /* __KAPI_DIM_SUM_TASK_H */
